import java.util.*;
import java.util.Arrays;
/*给你一个大小为 m * n 的矩阵 mat，矩阵由若干军人和平民组成，分别用 1 和 0 表示。
请你返回矩阵中战斗力最弱的 k 行的索引，按从最弱到最强排序。
如果第 i 行的军人数量少于第 j 行，或者两行军人数量相同但 i 小于 j，那么我们认为第 i 行的战斗力比第 j 行弱。
军人 总是 排在一行中的靠前位置，也就是说 1 总是出现在 0 之前。
示例 1：
输入：mat =
[[1,1,0,0,0],
 [1,1,1,1,0],
 [1,0,0,0,0],
 [1,1,0,0,0],
 [1,1,1,1,1]],
k = 3
输出：[2,0,3]*/
public class Main {
    public static int[] seekindex(int[][] mat,int k){
        int c=mat.length;
        int d=mat[0].length;
        Integer[] index=new Integer[c];
        for(int i=0;i<c;i++){
            index[i]=i;
        }
        int[] arr=new int[c];
        for(int a=0;a<c;a++){
            int count=0;
            for(int b=0;b<d;b++){
                if(mat[a][b]==1)count++;
            }
            arr[a]=count;
        }
       Arrays.sort(index,(i,j)->Integer.compare(arr[i],arr[j]));
        int[] res=new int[k];
        for(int i=0;i<k;i++){
            res[i]=index[i];
        }
        return res;
    }
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        int[][] mat=new int[a][b];
        for(int i=0;i<a;i++){
            for(int j=0;j<b;j++){
                mat[i][j]=sc.nextInt();
            }
        }
        int k=sc.nextInt();
        int[] res=seekindex(mat,k);
        System.out.println(Arrays.toString(res));
    }
}